﻿using System;
using System.CodeDom.Compiler;
using System.ComponentModel;
using System.Diagnostics;
using System.Xml.Serialization;

/// <summary>
/// Summary description for CXHotelRateRules
/// </summary>
namespace CE.HotelEan
{
    public class CXHotelRateRules
    {
        public CXHotelRateRules()
        {
            //
            // TODO: Add constructor logic here
            //
        }
        public HotelRateRulesResponse HotelRateRulesResponse { get; set; }
    }
    public class HotelRateRulesResponse : BaseResponse
    {
        public HotelRateRulesResponse(){}

        public string cancellationPolicy { get; set; }
        public string depositText { get; set; }
        public string extraChargeAdult { get; set; }
        public string extraChargeCrib { get; set; }
        public string extraChargeRollawayAdult { get; set; }
        public string extraChargeRollawayChild { get; set; }
        public string guaranteeMethods { get; set; }
        public string miscellaneous { get; set; }
        public string nativeCurrencyCode { get; set; }
        public RateChangeInfos RateChangeInfos { get; set; }
        public string ratePlanText { get; set; }
        public RateRulesFreeFlows RateRulesFreeFlows { get; set; }
        public string roomDescription { get; set; }
        public string roomRate { get; set; }
        public string totalRoomRate { get; set; }
    }
    public class RateChangeInfos
    {
        public RateChangeInfos(){}

        [XmlElement("RateChangeInfo")]
        public RateChangeInfo[] RateChangeInfo { get; set; }
        [XmlAttribute]
        public int size { get; set; }
    }
    public class RateChangeInfo
    {
        public RateChangeInfo(){}

        public string beginDate { get; set; }
        public string endDate { get; set; }
        public float rate { get; set; }
        public string rawRateChangeData { get; set; }
    }
    public class RateRulesFreeFlows
    {
        public RateRulesFreeFlows(){}

        [XmlElement("rateRulesFreeFlow")]
        public RateRulesFreeFlow[] rateRulesFreeFlow { get; set; }
        [XmlAttribute]
        public int size { get; set; }
    }
    public class RateRulesFreeFlow
    {
        public RateRulesFreeFlow(){}

        [XmlAttribute]
        public string text { get; set; }
    }
}
